package com.eleadmin.order.service;

import com.eleadmin.damon.utils.results.PageResult2;
import com.eleadmin.common.core.web.JsonResult;
import com.eleadmin.common.system.entity.User;
import com.eleadmin.order.entity.ContainerBill;
import com.eleadmin.order.entity.Customer23123;
import org.apache.poi.ss.formula.functions.T;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 * 客户管理服务类
 * @author : Doman
 * @date : 2023-02-13 15:50:11
 * @version ：1.0
 */
public interface CustomerService2313 /*extends IService<Customer>*/ {

    /**
     * 分页查询
     * @param page
     * @param customer
     * @return
     */
    public JsonResult list(PageResult2<T> page, Customer23123 customer, User loginUser) throws Exception;

    /**
     * 获取list
     * @param customer
     * @return
     */
    public JsonResult list(Customer23123 customer, User loginUser);

    /**
     * 获取list
     * @param customer
     * @return
     */
    public JsonResult listSel(Customer23123 customer, User loginUser);

    /**
     * 获取list
     * @param customer
     * @return
     */
    public JsonResult invoiceSel(Customer23123 customer, User loginUser);

    /**
     * 根据Id查询
     * @param id
     * @return
     */
    public JsonResult getById(String id);

    /**
     * 保存
     * @param customer
     * @param loginUser
     * @return
     */
    public JsonResult save(Customer23123 customer, User loginUser);

    /**
     * 保存
     * @param customer
     * @param loginUser
     * @return
     */
    public JsonResult saveCustomer(Customer23123 customer, User loginUser);

    /**
     * 保存
     * @param customer
     * @param loginUser
     * @return
     */
    public JsonResult saveCarTeam(Customer23123 customer, User loginUser);

    /**
     * 保存
     * @param customer
     * @param loginUser
     * @return
     */
    public JsonResult saveBookingAgent(Customer23123 customer, User loginUser);
    /**
     * 保存
     * @param customer
     * @param loginUser
     * @return
     */
    public JsonResult saveCustomBroker(Customer23123 customer, User loginUser);

    /**
     * 保存
     * @param customer
     * @param loginUser
     * @return
     */
    public JsonResult examCustomer(Customer23123 customer, User loginUser);

    /**
     * 修改
     * @param customer
     * @param loginUser
     * @return
     */
    public JsonResult update(Customer23123 customer, User loginUser);

    /**
     * 删除
     * @param id
     * @param loginUser
     * @return
     */
    public JsonResult remove(String id, User loginUser);
    /**
     * 导出客户拖车账单
     * @param loginUser
     * @return
     */
    public JsonResult exportsCustomerContainerBill(ContainerBill containerBill, User loginUser, HttpServletResponse response, HttpServletRequest request)throws Exception;


    /**
     * 导出车队拖车账单
     * @param loginUser
     * @return
     */
    public JsonResult exportsCarTeam(ContainerBill containerBill, User loginUser, HttpServletResponse response, HttpServletRequest request)throws Exception;
}
